package com.molichuxing.services.infrastructure.service;


import com.molichuxing.framework.dto.Paged;
import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.business.dto.response.VehicleNameBizDto;
import com.molichuxing.services.infrastructure.dto.response.VehicleDto;

import java.util.List;
import java.util.Map;

public interface VehicleService extends RootService {

    /***
     * 根据车型id查询  车型id  车型名称  车型图片
     * @param vehicleId
     * @return
     */
    VehicleDto getVehicleByVehicleId(Integer vehicleId);

    /***
     * 根据车型id查询  车型id  车型名称  车型图片
     * @param vehicleIds
     * @return
     */
    List<VehicleDto> getVehicleByVehicleIds(List<Integer> vehicleIds);

    /***
     * 根据车型名称查询  车型id  车型名称  车型图片
     * @param vehicleName
     * @return
     */
    VehicleDto getVehicleByVehicleName(String vehicleName);

    /***
     * 根据车系id查询  车型
     * @param vehicleModleId
     * @return
     */
    List<VehicleDto> getVehicleList(Integer vehicleModleId);


    /***
     * 根据车系id查询  车型
     * @param vehicleModleId
     * @return
     */
    List<VehicleDto> getVehicleListByIds(Integer vehicleModleId, List<Integer> vehicleIds);

    /**
     * 获取车型
     *
     * @param map
     * @param pageNum
     * @param pageSize
     * @return
     */
    Paged<VehicleDto> getVehiclePage(Map<String, Object> map, Integer pageNum, Integer pageSize);

    /**
     * 获取所有车型信息（包含车系、品牌）
     *
     * @return
     */
    List<VehicleNameBizDto> getAllVehicleMake();
}
